package com.sailing.xjpb.ipaas.client.common;

import com.sailing.xjpb.common.JsonUtils;
import com.sailing.xjpb.common.sercurity.SailingUserCurrentInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.binary.Base64;

import java.nio.charset.StandardCharsets;

/**
 * 用户信息加密
 *
 * @author YW
 */
@Slf4j
public class UserInfoEncoder {

    private UserInfoEncoder() {

    }

    /**
     * 用户信息加密
     *
     * @param key             加密key
     * @param userCurrentInfo 用户信息
     * @return 加密后的用户信息
     */
    public static String encode(String key, SailingUserCurrentInfo userCurrentInfo) {
        log.info("加密密钥：{}", key);
        String userStr = JsonUtils.toJSONString(userCurrentInfo);
        return Base64.encodeBase64String(userStr.getBytes(StandardCharsets.UTF_8));
    }

}
